|
Posizione nel menu |
---|
Parte → Dividi → Frammenti booleani |
Ambiente |
Part |
Avvio veloce |
Nessuno |
Introdotto nella versione |
0.17 |
Vedere anche |
Affetta in composto, Part XOR, Giunzione, Operazione booleana |
Lo strumento Part Frammenti booleani calcola tutti i frammenti che possono derivare dall'applicazione delle operazioni booleane tra le forme in ingresso. Ad esempio, per due sfere intersecanti, vengono generati tre solidi non sovrapposti, ma a contatto.
Nella figura qui sopra, i pezzi sono stati separati manualmente dopo l'operazione, per rendere visibili le singole parti.
La forma in uscita è sempre un composto. Il contenuto del composto dipende dai tipi di forme di ingresso e dalla modalità in cui l'operazione viene eseguita. Ciò significa che non si ottiene immediatamente l'accesso ai singoli pezzi del risultato, ma i pezzi rimangono raggruppati insieme. I singoli pezzi possono essere estratti dividendo il composto con Draft Declassa.
Lo strumento dispone di tre modalità: "Standard", "Split", e "CompSolid".
Le modalità "Standard" e "Split" differiscono per l'azione dello strumento su polilinee, gusci e compsolids. Se si usa "Split", essi sono separati; se si usa "Standard", essi sono mantenuti insieme (si ottengono dei segmenti in più).
La struttura del composto nelle modalità "Split" e "Standard" segue la struttura dei composti in ingresso. Cioè, se si forniscono due composti, ciascuno contenente una sfera come su nell'esempio precedente, anche il risultato contiene due composti, ciascuno contenente i pezzi della sfera originariamente contenuta. Ciò significa che nel risultato il pezzo comune è ripetuto due volte. Solo se le sfere in ingresso sono entrambi dei non composti, il risultato contiene il pezzo comune una volta sola.
In modalità "CompSolid", i solidi vengono uniti in un compsolid (il compsolid è formato da un gruppo di solidi collegati dalle facce, esse si rapportano ai solidi come le polilinee (wire) si rapportano ai bordi (edge), e i gusci (shell) si rapportano alle facce, il nome è probabilmente l'abbreviazione di "solido composito"). L'output è un composto non-annidato di compsolids.
Boolean Fragments
Lo strumento Frammenti booleani in "Modalità Standard" è un General Fuse Operator (GFA) di OpenCascade. Esso accetta una combinazione di tutti tipi di forme probabili, e la logica dell'output è piuttosto complicata. Vedere OpenCascade user guide: Boolean operations.
Per le modalità "Split" e "CompSolid", la post-elaborazione in più è fatta da FreeCAD.
Lo strumento può essere utilizzato nelle macro e dalla console python utilizzando la seguente funzione:
BOPTools.SplitFeatures.makeBooleanFragments(name)
BooleanFragments può essere applicato anche a forme piane, senza la necessità di avere un document object, attraverso:
import BOPTools.SplitAPI
BOPTools.SplitAPI.booleanFragments(list_of_shapes, mode, tolerance = 0.0)
# OR, for Standard mode:
list_of_shapes = [App.ActiveDocument.Sphere.Shape, App.ActiveDocument.Sphere001.Shape]
pieces, map = list_of_shapes[0].generalFuse(list_of_shapes[1:], tolerance)
# pieces receives a compound of shapes; map receives a list of lists of shapes, defining list_of_shapes <--> pieces correspondence
Questo può essere utile per creare delle funzioni personalizzate con script Python.
Esempio:
import BOPTools.SplitFeatures
j = BOPTools.SplitFeatures.makeBooleanFragments(name= 'BooleanFragments')
j.Objects = FreeCADGui.Selection.getSelection()
Lo strumento stesso è implementato in Python, vedere /Mod/Part/BOPTools/SplitFeatures.py nell'installazione di FreeCAD.
Lo strumento è stato introdotto in FreeCAD v0.17.8053. FreeCAD deve essere compilato con OCC 6.9.0 o superiore; altrimenti lo strumento non è disponibile.